Skip to content

[SPARK-38899][SQL]DS V2 supports push down datetime functions#36663

Closed
chenzhx wants to merge 10 commits into
apache:masterfrom
chenzhx:datetime
Closed

[SPARK-38899][SQL]DS V2 supports push down datetime functions#36663
chenzhx wants to merge 10 commits into
apache:masterfrom
chenzhx:datetime

Conversation

@chenzhx

@chenzhx chenzhx commented May 25, 2022

Copy link
Copy Markdown
Contributor

What changes were proposed in this pull request?

Currently, Spark have some datetime functions. Please refer

These functions show below:
DATE_ADD,
DATEDIFF,
TRUNC,
EXTRACT,
SECOND,
MINUTE,
HOUR,
MONTH,
QUARTER,
YEAR,
DAYOFWEEK,
DAYOFMONTH,
DAYOFYEAR

The mainstream databases support these functions show below.

Function PostgreSQL ClickHouse H2 MySQL Oracle Presto Teradata Snowflake DB2 Vertica Exasol Impala Mariadb Druid Singlestore ElasticSearch
DateAdd No Yes Yes Yes Yes Yes No Yes No No No Yes Yes No Yes Yes
DateDiff No Yes Yes Yes Yes Yes No Yes No Yes No Yes Yes No Yes Yes
DateTrunc Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes No Yes Yes Yes
Hour Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Minute Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Month Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Quarter Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Second Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
Year Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
DayOfMonth Yes Yes Yes Yes Yes Yes No Yes Yes Yes No Yes Yes Yes No Yes
DayOfWeek Yes Yes Yes Yes Yes Yes No Yes Yes Yes No Yes Yes Yes Yes Yes
DayOfYear Yes Yes Yes Yes Yes Yes No Yes Yes Yes No Yes Yes Yes Yes Yes
WEEK_OF_YEAR Yes No Yes Yes Yes Yes No Yes Yes Yes No Yes Yes Yes Yes Yes
YEAR_OF_WEEK No No Yes Yes Yes Yes No Yes No No No No Yes No No No

DS V2 should supports push down these datetime functions.

Why are the changes needed?

DS V2 supports push down datetime functions.

Does this PR introduce any user-facing change?

'No'.
New feature.

How was this patch tested?

New tests.

@github-actions github-actions Bot added the SQL label May 25, 2022
Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/H2Dialect.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
@chenzhx chenzhx force-pushed the datetime branch 2 times, most recently from 57b2b2f to 8d33d08 Compare June 1, 2022 06:45
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/H2Dialect.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/H2Dialect.scala Outdated
Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/H2Dialect.scala Outdated

@beliefer beliefer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM except one minor comment.
cc @cloud-fan @huaxingao

Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/JdbcDialects.scala Outdated
Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/H2Dialect.scala Outdated

@beliefer beliefer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM expect one comment.

@beliefer beliefer left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM except one comment !

Comment thread sql/core/src/main/scala/org/apache/spark/sql/jdbc/H2Dialect.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
Comment thread sql/core/src/test/scala/org/apache/spark/sql/jdbc/JDBCV2Suite.scala Outdated
@cloud-fan

Copy link
Copy Markdown
Contributor

thanks, merging to master!

@cloud-fan cloud-fan closed this in 1df405f Jul 8, 2022
@beliefer

beliefer commented Jul 8, 2022

Copy link
Copy Markdown
Contributor

@cloud-fan @huaxingao Thank you for you review.
@chenzhx Thank you for you job.

@chenzhx

chenzhx commented Jul 8, 2022

Copy link
Copy Markdown
Contributor Author

@cloud-fan @beliefer @huaxingao Thank you for you review.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants